package com.os.sys.mapper;

import com.os.sys.pojo.RoleType;
import com.os.sys.pojo.SysRole;
import com.os.sys.pojo.UserRole;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @Repository需要在Spring中配置扫描地址，然后生成Dao层的Bean才能被注入到Service层中。
 *
 * @Mapper不需要配置扫描地址，通过xml里面的namespace里面的接口地址，生成了Bean后注入到Service层中。
 * @author Administrator
 *
 */
@Repository
//@Mapper
public interface UserRoleMapper {

	public RoleType selectById(int role_id);

	public List<RoleType> selectByPage(Map<String, Object> param);
	
	public List<RoleType> selectByParam(Map<String, Object> paramMap);

	/**
	 * 按角色ID及用户ID查询
	 * 注意：如果要传入多个参数时，需要声明为Param后，在mybatis的SQL中才能识别
	 * @param role_id
	 * @param user_id
	 * @return
	 */
	public UserRole selectByRoleIdUserId(@Param("role_id") int role_id, @Param("user_id") String user_id);
	public List<UserRole> selectByUserId(String user_id);
	public List<UserRole> selectByRoleIds(String role_ids);
	public List<SysRole> selectRoleByUserId(String user_id);
	public List<SysRole> selectNoRoleByUserId(String user_id);
	
	public int insert(UserRole userRole);
	
	public int update(UserRole userRole);
	
	public int deleteById(int id);

	public int deleteByUserId(String user_id);

	public int deleteByParam(Map map);

	//public List<SysUser> serverPage(Map<String,Object> param);
	
	//public int selectCountByParam(Map<String,Object> param);
	
	
	
}
